<?php

abstract class Request_Abstract extends Base_Abstract {

	/**
	 * @var array
	 */
	private static $_instances = array();

	abstract protected function __construct (array $data = array());

	/**
	 * @param string $className
	 * @return Request_Abstract
	 */
	public static function inst ($className = __CLASS__) {
		self::$_instances[$className] = new $className();
		return self::$_instances[$className];
	}

}